package suzf.top.base.injection.component

import android.app.Activity
import android.content.Context
import com.trello.rxlifecycle.LifecycleProvider
import dagger.Component
import suzf.top.base.injection.ActivityScope
import suzf.top.base.injection.module.ActivityModule
import suzf.top.base.injection.module.AppModule
import suzf.top.base.injection.module.LifecycleProviderModule
import javax.inject.Singleton

/**
 *
 *========================
 * Created with AndroidStudio
 * Author:Mr.Su
 * Date:2019-09-08
 * Time:17:56
 * ========================
 */
@ActivityScope
@Component(dependencies = arrayOf(AppComponent::class), modules = arrayOf(ActivityModule::class,
        LifecycleProviderModule::class))
interface ActivityComponent {

    fun activity(): Activity

    fun context(): Context

    fun lifecycleProvider(): LifecycleProvider<*>
}
